The Advanced Television Systems Committee (ATSC) published a Digital Television Standard in 1995 as Document A/53, hereinafter referred to simply as “A/53” for sake of brevity. ATSC published “ATSC Mobile DTV Standard, Parts 1-8” on 26 Oct. 2009 as Document A/153, hereinafter referred to simply as “A/153” for sake of brevity. A/153 specifies robust ancillary transmissions time-division multiplexed into 8-VSB DTV, which ancillary transmissions are designed for reception by mobile receivers and by hand-held receivers that are referred to collectively as “M/H receivers”. The ancillary data employ internet-protocol (IP) transport streams. The ancillary data are randomized and subjected to transverse Reed-Solomon (TRS) forward-error-correction (FEC) coding before serial concatenated convolutional coding (SCCC) that uses the ⅔ trellis coding of 8-VSB as inner convolutional coding. This TRS FEC coding helps overcome temporary fading in which received signal strength momentarily falls below that needed for successful reception. The strongest TRS codes prescribed by A/153 can overcome such drop-outs in received signal strength that are as long as four tenths of a second.
Rows of data bytes and rows of parity bytes in the RS Frames of TRS-coded data are subjected to cyclic-redundancy-check (CRC) coding before SCCC. An M/H receiver can use the CRC coding as an error-locating code for the TRS FEC codewords. This permits the use of a Reed-Solomon decoding algorithm that can correct twice as many byte errors in each TRS codeword as an algorithm that must locate, as well as correct, byte errors. The SCCC coding is designed primarily for correcting errors arising from additive white Gaussian noise (AWGN) or similar noise, and the TRS FEC coding is relied on for the correction of errors arising from sustained burst noise. The TRS FEC coding is quite effective in overcoming drop-outs in received signal strength that cause sustained burst noise leading to the loss or severe corruption of as much as two complete M/H sub-Frames of the received signal. There are five sub-Frames in each 986 milliseconds long M/H Frame.
Since the adoption of A/153, some members of ATSC have expressed concern with the capability of transmissions made in accordance with A/153 having sufficient capability to overcome impulse noise. These members of A/153 have suggested further error-correction coding of M/H data, such further FEC coding designed to be decoded in the internet-protocol (IP) transport-stream (TS) packets recovered from the RS Frames in the so-called “physical layer” portion of an M/H receiver. The term “impulse noise” refers to burst noise that is of shorter duration and is apt to occur frequently within M/H Frames. Frequently occurring impulse noise is usually the result of interference generated by man-made electrical apparatus. A spike of impulse noise is typically stretched for a short time by selective filtering in the tuner portion of the M/H receiver. Burst noise of long duration is usually the result of a drop-out in the strength of received signal caused by change in receiver location or multipath reception conditions. Automatic gain control (AGC) of the RF and IF amplifiers of the M/H receiver increases the gain through those amplifiers in the attempt to maintain received signal level, which amplifies Gaussian noise and results in degradation of SNR.
Concatenated convolutional coding (CCC), whether serial concatenated convolutional coding (SCCC) or parallel concatenated convolutional coding (PCCC), is designed primarily for overcoming additive white Gaussian noise (AWGN) or the like and is not particularly effective at overcoming impulse noise. Decoders for convolutional coding undesirably exhibit tendencies to create and stretch impulse noise. Uncorrected impulse noise in the results of decoding convolutional coding tend to be grouped as running errors, and a receiver preferably employs some form of de-interleaving to disperse these groups of running errors to facilitate subsequent error correction responsive to FEC coding. Accordingly, the transmitter interleaves the FEC coding before CCC coding.
The principal design task for the transverse Reed-Solomon (TRS) coding used in the RS Frames prescribed by A/153 is overcoming drop-outs in received strength caused by reception nulls when the receiver is moved through an electromagnetic field subject to multipath reception. However, the shortened 255-byte Reed-Solomon (RS) codes used for TRS coding can be very powerful codes for correcting shorter burst errors owing to impulse noise, especially when used together with codes for locating byte-errors. If RS codes are relieved of having to locate byte-errors as well as correct them, they can correct as many byte-errors within each of them as each has parity bytes. If RS codes have to locate byte-errors as well as correct them, they can correct only one-half as many byte-errors within each of them as each has parity bytes. Providing a sufficient number of parity bytes in each RS code to implement the principal design task for TRS coding requires a significant investment in reduced M/H payload. Care should be taken to maximize the return from that investment. Proposals to add further FEC coding in the IP transport stream should be skeptically reviewed to ascertain whether they can provide better performance that can be obtained by better use of the TRS coding.
A/153 prescribes two-dimensional coding of RS Frames of randomized M/H data in which the bytes in each RS Frame are cyclically redundantly coded row by row to form respective cyclic redundancy check (CRC) codewords. These row-long CRC codewords can be used as error-locating codes for the TRS codewords, but only in common, on a collectively shared basis. This works reasonably well when overcoming protracted drop-outs in received strength caused by reception nulls when the receiver is moved through an electromagnetic field subject to multipath reception. These protracted errors typically extend over several rows of bytes in the RS Frame and affect all TRS codewords in the RS Frame.
In his previous work, the inventor discerned that each occurrence of impulse noise generates burst noise apt to be short enough in duration to affect only some of the TRS codewords in the RS Frame. Several occurrences of such shorter burst noise can occur in some RS Frames. The row-long CRC codewords will respond to each occurrence of shorter burst noise to locate a byte error in each and all of the TRS codewords in the RS Frame. Several occurrences of shorter burst noise in an RS Frame can cause the row-long CRC codewords to locate more possible byte-error locations than can be accommodated by a TRS decoder using a byte-error-correction-only decoding algorithm for correcting TRS codewords. The TRS decoder can be designed so as to use a byte-error-location-and-correction decoding algorithm as an alternative way for correcting TRS codewords. However, the byte-error-correction capability of the TRS decoder is halved when using a byte-error-location-and-correction decoding algorithm.
The inventor further discerned in his previous work that using a plurality of shorter CRC codewords in each row of the RS Frame is likely to result in fewer TRS codewords having to switch over to a byte-error-location-and-correction decoding algorithm. If the RS Frame is coded in a number 5M of M/H Groups, M being an integer more than one but no more than sixteen, each row of bytes in the RS Frame is preferably apportioned into M CRC codewords or into a prescribed multiple of M CRC codewords. These shorter CRC codewords have utility in improving turbo decoding of the CCC in M/H receivers, particularly when PCCC is used instead of the SCCC prescribed by A/153. In U.S. patent application Ser. No. 12/800,559 filed 18 May 2010 by A. L. R. Limberg and titled “Burst-error correction methods and apparatuses for wireless digital communications systems” the inventor described his preference for PCCC transmissions at code rate one-half the 8-VSB symbol rate being used in iterative-diversity and frequency-diversity reception.
The above-referenced U.S. patent application Ser. No. 12/800,559 describes implied symbol interleaving for CCC, which CCC uses the ⅔ trellis coding of 8-VSB symbols as its inner convolutional coding. This implied symbol interleaving is a species of code interleaving. At the DTV transmitter the bits of bytes that the M/H Frame encoder supplies to the block processor are subjected to prefatory de-interleaving. This de-interleaving is done in a pattern complementary to the interleaving of 2-bit symbols from the encoder of outer convolutional coding before their application to the encoder for the ⅔ trellis coding used as inner convolutional coding in the CCC. In an M/H receiver short-duration burst noise arising from impulse noise or momentary drop-outs in the received signal is dispersed in time by the de-interleaving of the 2-bit symbols supplied to the decoder for outer convolutional coding. Uncorrected remnants of the dispersed noise may appear in the response of that decoder, which response is subjected to re-interleaving before being fed back to implement turbo decoding or before being supplied as a result of turbo coding. The re-interleaving should collect uncorrected remnants of short-duration burst noise arising from impulse noise so as to be less widely distributed among the successive bytes of turbo coding response supplied for being written to an RS-Frame-storage memory that supports subsequent TRS decoding. It is pointed out in U.S. patent application Ser. No. 12/800,559 that this re-interleaving procedure should present fewer erroneous bytes to be corrected during TRS decoding and error-correction procedures.
CRC codes in the recovered 2-dimensionally-coded RS Frame data can be used to check whether or not sequences of data bits in the symbol-interleaved results of the outer convolutional coding of a CCC transmission at code rate one-half the 8-VSB symbol rate are presumably correct. The above-referenced U.S. patent application Ser. No. 12/800,559 describes those sequences of data bits with checksums indicating them very likely to be correct having the confidence levels associated with their parent soft data bits heightened. De-interleaving of the parent soft data bits that have the heightened confidence levels scatters them throughout the outer convolutional coding used in the next iteration of decoding the outer convolutional coding. The heightened confidence levels of scattered soft data bits concentrates the decoding of the outer convolutional coding on the soft data bits with lower confidence levels, helping to avoid the bit-error-rate (BER) “floor” phenomena characteristic that can afflict CCC, especially PCCC. When the CRC codes indicate that substantially all the sequences of data bits in the interleaved results of decoding outer convolutional coding of the CCC transmission are very likely to be correct, this information can be used to discontinue the iterative procedures associated with turbo decoding the CCC.
The above-referenced U.S. patent application Ser. No. 12/800,559 describes the confidence levels of soft data bits resulting from turbo decoding being used to generate confidence levels for bytes of hard data bits derived from those soft data bits. These confidence levels for bytes of hard data bits are subsequently used for locating byte errors in the TRS codewords of RS Frames. This procedure locates byte errors in each of the TRS codewords as individually considered, rather than byte errors being located for several TRS codewords as collectively considered. This better confines the effects of impulse noise artifacts in the turbo decoding results upon byte error location to fewer of the TRS codewords in an RS Frame. This increases the likelihood that each of these TRS codewords can be corrected using a byte-error-correction-only decoding algorithm, rather than having to switch over to a byte-error-location-and-correction decoding algorithm with reduced capability for correcting byte errors.
The inventor considered whether there might be advantages in two-dimensional coding of RS Frames that combines the TRS coding with lateral FEC coding, rather than with lateral CRC coding that can detect errors but does not correct them. After some thought the inventor realized that FEC coding is preferably of a type in which parity bits are not dispersed throughout the bytes of turbo decoding results, but rather are grouped into particular ones of 8-bit bytes of the turbo decoding results. This allows the parity bits easily to be separated from bytes of the payload encoded within the FEC coding and discarded before writing those payload bytes into RS Framestore memory that supports decoding of TRS codewords. U.S. Pat. No. 7,197,685 issued 27 Mar. 2007 to A. L. R. Limberg and titled “Robust signal transmissions in digital television broadcasting” describes 2-dimensional coding that combines TRS coding with (207, 187) lateral Reed-Solomon (LRS) forward-error-correction (FEC) coding similar to that used in 8-VSB DTV broadcasting of main-service data. The decoding of the 2-dimensional coding is preceded by convolutional byte interleaving that disperses running errors caused by the decoder for the ⅔ trellis coding used for recovering the data fields.
LRS FEC coding of the TRS decoding results in the M/H transmissions differs from what U.S. Pat. No. 7,197,685 describes in that the outer convolutional coding of the CCC and symbol interleaving of that outer convolutional coding are interposed between the LRS FEC coding and the ⅔ trellis coding used as the inner convolutional coding of the CCC. Furthermore, the length of the shortened 255-byte RS codes used for LRS FEC coding of the TRS decoding results in the M/H transmissions has to be chosen carefully if an integral number of LRS FEC codewords is to fit exactly into each M/H Group. Such exact fit facilitates an M/H receiver being able to use the LRS FEC coding to assist decoding of the CCC. The re-interleaving of the response of the decoder for outer convolutional coding before the decoder of the LRS FEC coding breaks up any remnant errors from the decoder for outer convolutional coding that the decoder of the LRS FEC coding is supposed to correct or help to correct.